package com.suns.dao;

import com.suns.model.SysDept;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

public interface SysDeptMapper {
    int deleteByPrimaryKey(@Param("id") Integer id);

    // 添加所有的信息
    int insert(SysDept record);

    // 添加含有的信息，不会触发空
    int insertSelective(SysDept record);

    SysDept selectByPrimaryKey(@Param("id") Integer id);

    int updateByPrimaryKeySelective(SysDept record);

    int updateByPrimaryKey(SysDept record);

    // 获取当前用户的部门列表
    List<SysDept> getAllDept();

    // 获取当前部门下是的所有子部门
    List<SysDept> getChildDeptListByLevel(@Param("level") String level);

    //批量更新部门level
    void batchUpdateLevel(@Param("deptList") List<SysDept> deptList);

    //检验信息是否已经重复(同一级下不能有名称重复的部门)
    int countByNameAndParentId(@Param("parentId") Integer parentId, @Param("name") String name, @Param("id") Integer id);
}